package ar.frba.utn.diseñosistemas.TP2;

public class BuscadorBuilder {

	private IBuscador construccion;
	
	public BuscadorBuilder()
	{
		this.construccion = new Buscador(AerolineasSingleton.getInstance().getAerolineas());
	}
	
	public BuscadorBuilder ConRecargo(float recargo)
	{
		construccion = new ConRecargo(construccion, recargo);
		return this;
	}
	
	public BuscadorBuilder SinSuperOferta()
	{
		construccion = new SinSuperOferta(construccion);
		return this;
	}
	
	public BuscadorBuilder FiltrarPorClase(Clase unaClase)
	{
		if (unaClase != null)
			construccion = new FiltrarPorClase(construccion);
		
		return this;
	}
	
	public BuscadorBuilder FiltrarPorUbicacion(Ubicacion unaUbicacion)
	{
		if (unaUbicacion != null)
			construccion = new FiltrarPorUbicacion(construccion);
		
		return this;
	}
	
	public IBuscador Construir()
	{
		return this.construccion;
	}
}
